public class AbstractFactoryTest {
    public static void main(String[] args) {
        try {
            Product a;
            AbstractFactory af;
            af = (AbstractFactory) ReadXML1.getObject();
            a = af.newProduct();
            a.show();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
}
//接口
interface Product {
    public void show();
}

//具体产品1：实现抽象产品中的抽象方法
class Hotput1 implements Product {
    public void show() {
        System.out.println("清汤火锅吖~");
    }
}
//具体产品2：实现抽象产品中的抽象方法
class Hotput2 implements Product {
    public void show() {
        System.out.println("麻辣火锅吖~");
    }
}
//抽象工厂：提供了厂品的生成方法
interface AbstractFactory {
    public Product newProduct();
}
//具体工厂1：实现了厂品的生成方法
class HotputFactory1 implements AbstractFactory {
    public Product newProduct() {
        System.out.println("清汤火锅工厂生成-->清汤火锅");
        return new Hotput1();
    }
}
//具体工厂2：实现了厂品的生成方法
class HotputFactory2 implements AbstractFactory {
    public Product newProduct() {
        System.out.println("麻辣火锅工厂生成-->麻辣火锅");
        return new Hotput2();
    }
}
